The HasCalendar property reflects whether there are any views, and views
change either when clients appear/disappear or when the time range changes.
However we currently only emit the PropertiesChanged signal for the former,
fix that.
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1300
app_update_views (App *app)
{
GSList *link, *clients;
+ gboolean had_views, has_views;
+
+ had_views = app->live_views != NULL;
for (link = app->live_views; link; link = g_slist_next (link))
{
app->live_views = g_slist_prepend (app->live_views, view);
}
+ has_views = app->live_views != NULL;
+
+ if (has_views != had_views)
+ app_notify_has_calendars (app);
+
g_slist_free_full (clients, g_object_unref);
}